Content Delivery Networks (CDNs) facilitate distribution of various forms of digital media to a user community. The user community may be geographically dispersed, and the forms of digital media, or content, served by a CDN include many files and file-related forms such as textual documents, program code, executable entities, audio, video and other multimedia streaming media, to name several. Further, the CDN may serve a narrow domain, such as a corporate educational network directed to a corporation's educational, diagnostic and/or technical volumes and documentation, or may serve a broader base such as a multimedia provider providing services such as broadband Internet, cable TV and video on demand to a general population of household subscribers.
The CDN includes a set of interconnected nodes accessible to the user community. The users of the CDN may obtain access to the content in the CDN more readily than through non-CDN assisted means, typically general Internet search engines and disparate menu driven interfaces. Typically the CDN is operable to serve such content from alternative locations which is “nearer,” in terms of network distance, to the content consumer than the single origin server. Further, the CDN content may include security features and fee structures which complicate or prohibit other forms of access.
The CDN, therefore, includes a plurality of nodes which collectively have access to the entire content body of the CDN. Different CDN nodes have various functions, and software driving the CDN designates and employs the various nodes accordingly. Therefore, a typical CDN is composed of (i) a collection of edge servers, (ii) a distribution system for moving content out to the edge servers, (iii) a request-routing system for intercepting content requests from content consumers and directing those requests to appropriate edge servers, and (iv) a management system tying these elements together for monitoring and control. Internet (IETF) RFC 3466, codifies a similar taxonomy of a general framework. Typical exemplary node types may include edge servers, or routers, connect to users directly, and initially receive the user request for such content. Origin servers represent the originating point for content, which may be external to the CDN. Root servers exist within the CDN to gather and maintain a set of content in geographic proximity to the expected user demand. A manifest enumerates the set of content, or files, available to each root server, and the root server employs other CDN servers to manipulate and transport requested content accordingly.
Generally, therefore, each user connects to one of the nodes which is directly or indirectly connected to a node containing the content sought by the user. However, depending on the arrangement of the CDN, obtaining the content requested by the user involves finding the content and transporting the content to the user. A CDN, therefore, tends to form a complex array of geographically dispersed nodes, or servers, which cooperatively strive to efficiently store and transport requested content to the user.